import request from "@/utils/request";

const FAMILY_BASE_URL = "/api/v1/family-user";

const FamilyUserAPI = {
  getMembersPage(queryParams) {
    return request({
      url: `/api/v1/members/page`,
      method: "get",
      params: queryParams,
    });
  },
  /**
   * 获取用户进货价
   * @param {string} userId 用户ID
   * @param {string} packageId 商品ID
   * @returns {Promise} 请求结果
   */
  getPurchasePrice(userId, packageId) {
    return request({
      url: `/api/v1/members/purchasePrice`,
      method: "get",
      params: { userId, packageId },
    });
  },
  /**
   * 修改家族成员信息
   * @param {string} id 家族ID
   * @param {Object} data 家族表单数据
   * @returns {Promise} 请求结果
   */
  edit(id, data) {
    return request({
      url: `/api/v1/members/${id}`,
      method: "put",
      data: data,
    });
  },

  /**
   * 设置进货价
   * @param {Object} data 家族表单数据
   * @returns {Promise} 请求结果
   */
  setPurchasePrice(data) {
    return request({
      url: `/api/v1/members/purchasePrice`,
      method: "post",
      data: data,
    });
  },

  /**
   * 重置用户密码
   * @param {string} id 用户ID
   * @param {Object} data 包含新密码的数据对象
   * @returns {Promise} 请求结果
   */
  resetPassword(id, data) {
    return request({
      url: `/api/v1/members/${id}/password/resetAll`,
      method: "put",
      params: { password: data.password },
    });
  },

  /**
   * 设置或取消修谱人
   * @param {Object} data 包含userId和isEmbellisher的数据对象
   * @returns {Promise} 请求结果
   */
  setEmbellisher(data) {
    return request({
      url: `/api/v1/members/embellisher/${data.userId}`,
      method: "put",
      params: { isEmbellisher: data.isEmbellisher },
    });
  },

  /**
   * 获取家族用户加入分页列表
   * @param {Object} queryParams 查询参数
   * @returns {Promise} 用户分页列表
   */
  getPage(queryParams) {
    return request({
      url: `${FAMILY_BASE_URL}/page`,
      method: "get",
      params: queryParams,
    });
  },

  /**
   * 修改家族成员加入
   * @param {string} id 家族ID
   * @param {Object} data 家族表单数据
   * @returns {Promise} 请求结果
   */
  update(id, data) {
    return request({
      url: `${FAMILY_BASE_URL}/audit/${id}`,
      method: "put",
      data: data,
    });
  },

  /**
   * 删除家族成员加入
   * @param {string} id 家族ID
   * @returns {Promise} 请求结果
   */
  deleteByIds(id) {
    return request({
      url: `${FAMILY_BASE_URL}/${id}`,
      method: "delete",
    });
  },

  /**
   * 获取审核id的家谱树
   * @param {string} id 审核id
   * @returns {Promise} 请求结果
   */
  detail(id) {
    return request({
      url: `${FAMILY_BASE_URL}/detail/${id}`,
      method: "post",
    });
  },
};

export default FamilyUserAPI;
